As representative transmission protocols for transmitting data on the Internet, TCP/IP (Transmission Control Protocol/Internet Protocol) and UDP/IP (User Datagram Protocol/Internet Protocol) are currently used.
However, when transmitting data in packet units by utilizing these transmission protocols through transmission paths having low˜medium bit rates (9600 bps˜64 Kbps), each packet includes headers corresponding to the respective transmission protocols (i.e., TCP, UDP, and IP), and these headers result in communication overhead, that is, the data quantity in the header section of the packet becomes significantly larger than the data quantity in the data section.
For example, when transmitting 10-byte data by UDP/IP, although the size of the data section of an UDP/IP packet used for this transmission is only 10 bytes, the total size of the UDP/IP packet becomes 38 bytes. In other words, the total size of the UDP/IP packet is about four times as large as the quantity of data which is actually transmitted. When such communication overhead occurs frequently, the effective transmission rate of data in the transmission path is significantly reduced.
As a method for reducing communication overhead due to use of plural transmission protocols, a header compression method proposed by V. Jacobson, which is defined in RFC (Request For Comments) 1144 and RFC 2508, is currently used.
Hereinafter, this header compression method will be described.
FIG. 28(a) illustrates a data transmission system Cs1 to which the V. Jacobson's header compression method is applied.
In the data transmission system Cs1, a gateway server Sga is connected to the Internet In, and a terminal equipment Teq such as a personal computer is connected to the gateway server Sga through a cable line such as a modem, ISDN (Integrated Service Digital Network), or LAN (Local Area Network). The terminal equipment Teq and the gateway server Sga are directly connected through the cable line by point-to-point connection. On the transmission path between the terminal equipment Teg and the gateway server Sga, packets which have been subjected to data compression by the V. Jacobson's header compression method are transmitted by a transmission protocol such as PPP (Point to Point Protocol).
In the data transmission system Cs1, when data is transmitted from the gateway server Sga to the terminal equipment Teq, the gateway server Sga serves as a transmitter while the terminal equipment Teq serves as a receiver. On the contrary, when data is transmitted from the terminal equipment Teq to the gateway server Sg, the gateway server serves as a receiver while the terminal equipment Teq serves as a transmitter.
Hereinafter, a brief description will be given of data transmission using packets in the above-described data transmission system Cs1.
FIG. 28(b) illustrates processes requited for data transmission in the data transmission system Cs1, corresponding to a plurality of layers in hierarchy. FIGS. 29(a)˜29(e) illustrate data structures of packets to be generated by the processes corresponding to the respective layers.
FIG. 28(b) shows the case where data is transmitted from a server (transmitter) Sin on the Internet In through a gateway server (relay unit) Sga to a terminal equipment (receiver) Teq (refer to data flow Df).
Data stored in the transmitter Sin is subjected to the process of the first layer (application layer) Ls1, followed by the process of the second layer Ls2. Thereby, an RTP packet Prtp corresponding to RTP (Realtime Transport Protocol) is generated. This RTP packet is composed of an RTP header Hrtp containing header information and an RTP payload (data section) Drtp containing the above-described data. The information in the RTP header Hrtp is composed of a sequence number Isn which increments by 1 every time one packet is transmitted, a time stamp Its which is used for processing at the data receiving end, and other header information Ith (refer to FIG. 29(a)). The size of the RTP header Hrtp is generally 12 bytes, and 2 bytes are assigned to the sequence number Isn and 4 bytes are assigned to the time stamp Its.
Next, the RTP packet Prtp is subjected to the process of the third layer Ls3, whereby an UDP packet corresponding to UDP (user Datagram Protocol) is generated. This UDP packet Pudp is composed of an UDP header Hudp containing header information, and a data section Dudp containing the RTP packet Prtp (refer to FIG. 29(b)).
Subsequently, the UDP packet Pudp is subjected to the process of the fourth layer Ls4, whereby an IP packet Pipa corresponding to IP (Internet Protocol) is generated. This IP packet Pipa is composed of an IP header Hipa containing header information, and a data section Dip containing the UDP packet Pudp (refer to FIG. 29(c)).
Then, the IP packet Pipa is sent to the gateway server Sga through the transmission path Cin, according to a predetermined transmission standard (e.g., Ethernet), by the process of the fifth layer Ls5.
In the gateway server Sga, the IP packet Pipa transmitted from the server Sin on the Internet In is received according to the predetermined transmission standard (e.g., Ethernet) by the process of the lower layer Lin2 which corresponds to the process of the fifth layer Ls5 in the transmitter. The received IP packet Pipa is separated into the header Hipa and the data section Dip by the process of the upper layer Lin1 which corresponds to the process of the fourth layer Ls4 in the transmitter. Then, by the process of the upper layer Leq1 which corresponds to a predetermined layer in the receiver (in this case, the fourth layer Lr4), the separated data section Dip is given a header section Hipb which includes information different from the information stored in the header section Hipa, thereby generating an IP packet Pipb (refer to FIG. 29(d)).
Thereafter, the IP packet Pipb is subjected to the process of the lower layer Leq2 which corresponds to a predetermined layer in the receiver (in this case, the fifth layer Lr5), whereby a PPP packet Pppp corresponding to PPP (Point to Point Protocol) is transmitted to the terminal equipment Teq through the cable line Ceq. This PPP packet Pppp is composed of a header section Hppp containing PPP header information Ippp and a CRC code Icrc for checking the received data, and a data section Dppp containing the IP packet Pipb (refer to FIG. 29(e)).
When the PPP packet Pppp is received by the terminal equipment Teq serving as a receiver, the PPP packet Pppp is separated into the header section Hppp and the data section Dppp, by the process of the fifth layer Lr5 which corresponds to the lower layer Leq2 in the gateway server Sga.
Next, the Ip packet Pipb stored in the PPP data section Dppp is separated into the IP header section Hipb and the IP data section Dip, by the process of the fourth layer Lr4 which is upper than the fifth layer Lr5. Subsequently, the UDP packet Pudp stored in the IP data section Dip is separated into the UDP header section Hudp and the UDP data section Dudp by the process of the third layer Lr3 which is upper than the fourth layer Lr4. Further, the RTP packet Prtp stored in the UDP data section Dudp is separated into the RTP header section Hrtp and the RTP data section Drtp, by the process of the second layer Lr2 which is upper than the third layer Lr3.
Then, the data stored in the RTP payload (RTP data section) Drtp is subjected to the process of the first layer (application layer) Lr1.
When data is transmitted from the terminal equipment Teq to the server Sin on the Internet, the terminal equipment Teq servers as a transmitter and the server Sin serves as a receiver. This case is reverse of the case where data is transmitted from the server Sin on the Internet through the gateway server Sga to the terminal equipment Teq. That is, in the respective layers Lr2˜Lr5 of the terminal equipment Teq, packets corresponding to these layers are generated. In the gateway server Sga, the IP packet Pipb is extracted from the PPP packet Pppp supplied from the terminal equipment Teg, and this packet is converted to the IP packet Pipa to be sent to the server Sin on the Internet In on the basis of the Ethernet. In the server Sin, the IP packet Pipa is received by the process of the fifth layer Ls5, and the data stored in the RTP payload Drtp is taken out by the processes of the layers Ls4˜Ls2 in the server Sin which correspond to the layers Lr2˜Lr4 in the terminal equipment Teq, and this data is subjected to the process of the application layer Ls1.
In the above description, an UDP packet corresponding to UDP is generated in the processes of the third layers Ls3 and Lr3, but a TCP packet corresponding to TCP (Transmission Control Protocol) may be generated in the processes of the third layers.
In the above-described data transmission system Cs1, when transmitting data by PPP using the V. Jacobson's header compression method, two types of packets are used as the PPP packets Pppp to be transmitted by this protocol, as shown in FIGS. 30(a) and 30(b). That is, one is a compressed packet Py in which data to be transmitted (hereinafter referred to as transmission data) stored in the data section is compressed (refer to FIG. 30(b)), and the other is an uncompressed packet Px in which transmission data stored in the data section is not compressed (refer to FIG. 30(a)). FIGS. 30(a) and 30(b) show only parts of these PPP packets, which are required for describing the V. Jacobson's header compression method.
That is, the uncompressed packet Px is composed of a header section Hpx containing header information, and a data section Dpx containing transmission data (D) as uncompressed data Ir to be transmitted by PPP. The information in the header section Hpx is composed of a compression/uncompression identifier Ih1 which indicates whether the data in the data section Dpx is compressed, and other header information Ih3. In the uncompressed packet Px, the identifier Ih1 indicates “uncompressed”.
Further, the compressed packet Py is composed of a header section Hpy containing header information, and a data section Dpy containing difference data (ΔD) as compressed data Id to be transmitted by PPP. The information in the header section Hpy is composed of a compression/uncompression identifier Ih1 which indicates whether the data stored in the data section Dpy is compressed, and other header information Ih3. In the compressed packet Py, the identifier Ih1 indicates “compressed”.
The header information Ih3 includes the CRC code Icrc shown in FIG. 29(e).
In the above-described process of transmitting the PPP packets using the V. Jacobson's header compression method, the uncompressed packet Px is transmitted as the first PPP packet from the transmitting end to the receiving end and, thereafter, the compressed packet Py is transmitted as the subsequent PPP packet.
In the data section Dpy of the compressed packet Py to be transmitted, difference data (ΔD) which is based on the transmission data (reference data) of a PPP packet which has been transmitted just before the compressed packet Py, is stored. To be specific, the difference data (ΔD) is a difference between the transmission data to be transmitted by the compressed packet Py and the transmission data as the reference data.
FIG. 31 is a diagram for conceptually explaining the PPP packet transmission process using the V. Jacobson's header compression method.
In FIG. 31, transmission data (D1)˜(D4) corresponding to the respective PPP packets are sequentially transmitted.
Initially, an uncompressed packet Px(1) is transmitted as the first PPP packet from the transmitting end to the receiving end. In the data section Dpx of this uncompressed packet Px(1), transmission data (D1) is stored as uncompressed data Ir.
Thereafter, compressed packets Py(2)˜Py(4) are sequentially transmitted as PPP packets-from the transmitting end to the receiving end. In the data sections Dpy of these compressed packets Py(2), Py(3), and Py(4), difference data (D1−D2), (D2−D3), and (D3−D4) are stored as compressed data Id, respectively.
The difference data (D1−D2) is a difference between the transmission data (D1) and (D2), the difference data (D2−D3) is a difference between the transmission data (D2) and (D3), and the difference data (D3−D4) is a difference between the transmission data (D3) and (D4). In this way, each compressed packet contains, as compressed data Id, difference data between the transmission data of this compressed packet and the transmission data of the packet which has been transmitted just before the compressed packet.
This transmission of compressed packets is continued until a transmission error occurs.
At the receiving end, the uncompressed packet Px(1) is ˜received as the first PPP packet and, thereafter, the compressed packets Py(2)˜Py(4) are sequentially received as PPP packets.
Then, the uncompressed packet Px(1) is processed according to PPP, whereby the transmission data (D1) stored in the data section Dpx is taken out. Further, the compressed packets Py(2), Py(3), and Py(4) are processed according to PPP, whereby the difference data (D1−D2), (D2−D3), and (D3−D4) stored in the data sections Dpy are taken out, and the transmission data (D2), (D3), and (D4) corresponding to the respective compressed packets are restored by the V. Jacobson's header compression method. For example, the transmission data (D2) is restored by adding the difference data (D1−D2) and the transmission data (D1), and the transmission data (D3) and (D4) are restored in like manner.
Next, a description will be given of the case where a transmission error occurs during the PPP transmission process using the V. Jacobson's header compression method.
FIG. 32 illustrates exchange of data between the transmitting end and the receiving end when a transmission error occurs.
When the receiving end detects that a transmission error has occurred in a predetermined PPP packet, since the receiving end cannot restore PPP packets received after the occurrence of the transmission error, it notifies the transmitting end that a restoration error has occurred.
For example, as shown in FIG. 32, in the case where the compressed packet Py(2) is not normally transmitted to the receiving end due to a transmission error, even when the receiving end receives the compressed packet Py(3) which follows the compressed packet Py(2), the transmitting end cannot restore the transmission data (D3) which is the original data of the difference data stored in the compressed packet Py(3), because the transmission data (D2) which is the original data of the difference data stored in the compressed packet Py(2) is not restored. Therefore, the receiving end notifies the transmitting end that a restoration error has occurred.
On receipt of the notification about the restoration error, the transmitting end transmits an uncompressed packet Px(5) as a PPP packet to the receiving end. At the receiving end, all of the compressed packets Py(2)˜Py(4) which have been received from when the transmission error occurred to when the uncompressed packet Px(5) is received, are discarded.
By the way, in recent years, applications of the Internet using handy phones, such as mail access to handy phones and services of texts, have proceeded. Further, infrastructure for next generation radio communication (˜384 Kbps) has been developed for practical use of third generation mobile communication (W-CDMA: Wideband-Code Division Multiple Access).
FIG. 33(a) is a diagram illustrating a data transmission system Cs2 employing a radio terminal adapted to W-CDMA.
In the data transmission system Cs2, a gateway server Sga is connected to the Internet In, and a mobile radio terminal Tmo (e.g., visual terminal) is connected to the gateway server Sga through a wireless telephone network Cwr such as W-CDMA. Also in this data transmission system Cs2, on the transmission path between the mobile radio terminal Tmo and the gateway server Sga, packets which have been subjected to data compression based on the V. Jacobson's header compression method are transmitted according to a protocol such as PPP (Point to Point Protocol).
FIG. 33(b) shows processes required for data transmission in the data transmission system Cs2, corresponding to a plurality of layers in hierarchy.
In the data transmission system Cs2, since the transmission path between the mobile radio terminal Tmo and the gateway server Sga includes the wireless telephone network Cwr, data transmission between them is different in the following point from data transmission in the data transmission system Cs1 in which the terminal Tmo and the server Sga are connected by the cable line.
That is, when transmitting a PPP packet from the gateway server Sga to the mobile radio terminal Tmo, the gateway server Sga transmits a PPP packet obtained by the process of the second layer Lmo2, through the radio network Cmo, to the mobile radio terminal Tmo, by the process of the third layer Lmo3 which corresponds to the W-CDMA method.
The mobile radio terminal Tmo receives the PPP packet by the process of the sixth layer Lr6 which corresponds to the W-CDMA method. Thereafter, like the data transmission system Cs1, the data stored in the RTP payload Drtp is taken out by the processes of the fifth to second layers Lr5˜Lr2, and the data is subjected to the process of the application layer Lr1.
Other processes for communication in the data transmission system Cs2 shown in FIG. 33(b) are identical to those already described for the data transmission system Cs1 shown in FIG. 28(b). For example, the processes of the first layer Lmo1 and the second layer Lmo2 at the terminal end in the gateway server Sga in the data transmission system Cs2 are identical to the processes of the first layer Leq1 and the second layer Leq2 at the terminal end in the gateway server Sga in the data transmission system Cs1.
However, the bit error rate in data transmission in the radio section is about 10−3 while the bit error rate in data transmission in the cable section is 10−5˜10−7. Therefore, in the PPP data transmission using the V. Jacobson's header compression method (RFC1144, RFC2508), degradation of data quality due to transmission errors in the radio section becomes a problem.
In other words, in the data transmission system Cs2 including the radio section, when data is transmitted by PPP using the V. Jacobson's header compression method, the case shown in FIG. 32, i.e., discarding the received packets at the receiving end due to transmission errors, occurs frequently and, consequently, the number of transmitted packets to be discarded increases considerably.